@charset "utf-8";

@font-face {
  font-family: 'Open Sans';
  src: local('Open Sans'), url("../Fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf") format("truetype");
}

* {
  font-family: 'Open Sans';
}

.area {
  display: grid;
  grid-template-columns: [full-start] 5% [breakout-start] 10% [inner-start] 70% [inner-end] 10% [breakout-end] 5% [full-end];
  padding: 0;
  margin: 0;
}

.area> :not(.breakoutgrid, .fullgrid),
.fullgrid> :not(.breakoutgrid, .fullgrid) {
  grid-column: inner;
}

.area>.breakoutgrid {
  grid-column: breakout;
}

.area>.fullgrid {
  grid-column-start: full-start;
  grid-column-end: full-end;
}

h1 {
  font-family: "lato";
}

a {
  text-decoration: none;
  color: darkgray;
  font-family: "lato";
  font-size: large;
  cursor: pointer;
}

a:hover {
  color: darkblue;
}

nav {
  min-height: 10svh;
  background-color: white;
  margin: auto;
}

.navigation ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  row-gap: 2rem;
  gap: 2rem;
  align-items: center;
}

nav>ul>li>a {
  display: block;
  font-size: larger;
  text-decoration: none;
  text-align: center;
  font-family: "lato";
  color: black;
}

nav>ul>li>a>img {
  width: 100px;
  height: 100px;
  object-fit: contain;
}

nav .icon {
  width: 50px;
  height: 50px;
  object-fit: contain;
}

.divider {
  height: 2px;
  background-color: black;
  margin: 1rem 0;
}

footer {
  margin-bottom: 20px;
}

.landingpage {
  min-height: 80svh;
  background-image: url("../images/wedding2.jpg");
  background-repeat: none;
  background-position: center;
  background-size: cover;
  color: #202020;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
}

.landingpage_nature {
  min-height: 80svh;
  background-image: url("https://www.kidopa-fotografie.de/Naturfoto/jpg/landingimage.jpg");
  background-repeat: none;
  background-position: center;
  background-size: cover;
  color: black;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}

.landingpage>.textbox {
  padding: 2rem;
}

.landingpage_nature>.textbox {
  padding: 2rem;
}

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  grid-gap: 2rem;
}

.griditem {
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding-left: 2rem;
}

.griditem ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.griditem ul li h4 {
  padding: 0;
  margin: 0;
}

.griditem img {
  height: 50px;
  width: 50px;
  object-fit: contain;
  object-position: center;
}

.gallery {
  display: flex;
  width: 100%;
  height: auto;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
  overflow: hidden;
  padding: 1rem;
}

.gallery img {
  max-width: 85svw;
  max-height: 60svh;
  object-fit: contain;
  object-position: center;
  box-shadow: 5px 5px 5px gray;
  padding: 0.5rem;
}

.aboutimg {
  justify-self: center;
  height: 30svh;
  object-fit: cover;
  box-shadow: 5px 5px 5px gray;
}

.aboutimgtxt {
  justify-self: center;
  font-family: "lato";
  color: rgb(152, 179, 207);
}

.outbox {
  background-image: url("../images/20230321-1.jpg");
  background-repeat: none;
  background-position: center;
  background-size: cover;
  color: white;
  padding: 1rem;
}

.outbox form {
  align-self: center;
  width: 60%;
  height: 100%;
  background-color: white;
  color: black;
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  padding-top: 2rem;
}

.outbox form label {
  margin-left: 15%;
  font-weight: 600;
}

.outbox form input {
  width: 70%;
  height: 1.75rem;
  margin-left: 15%;
}

.outbox form textarea {
  width: 70%;
  height: 10rem;
  margin-left: 15%;
}

#button {
  width: 70%;
  height: 2.5rem;
  margin-left: 15%;
}

.outbox form p {
  width: 70%;
  margin-left: 15%;
  margin-bottom: 2rem;
}

.cardwrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(25svw, 1fr));
  grid-gap: 0.5rem;
}

.blog {
  display: none;
  margin: 1rem;
}

.blog.visible {
  background-color: white;
  color: black;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0.5rem;
  box-shadow: 5px 5px 10px gray;
}

.blog img {
  width: 50%;
  box-shadow: 5px 5px 10px gray;
  padding: 0.5rem;
}

.blog h1,
.blog h2 {
  text-align: center;
}

.card {
  background-color: white;
  color: black;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem;
  box-shadow: 5px 5px 10px gray;
}

.card img {
  width: 60%;
  padding: 0.5rem;
  box-shadow: 2px 2px 5px gray;
}

.card h1,
.card h2 {
  text-align: center;
}

.cardfooter {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
}

.leistungen {
  color: black;
  padding: 2rem;
}

@media (min-width: 120px) and (max-width: 950px) {
  .burgericon {
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all .5s ease-in-out;
    cursor: pointer;
    /*border: 1px solid black;*/
    border-radius: 3px;
    margin: auto;
  }

  .burgerbtn {
    width: 38px;
    height: 3px;
    background-color: black;
    border-radius: 3px;
    transition: all .5s ease-in-out;
    margin: 40px 0px;
  }

  .burgerbtn::before,
  .burgerbtn::after {
    content: '';
    position: absolute;
    width: 38px;
    height: 3px;
    background-color: black;
    border-radius: 3px;
    transition: all .5s ease-in-out;
  }

  .burgerbtn::before {
    transform: translateY(-12px)
  }

  .burgerbtn::after {
    transform: translateY(12px)
  }

  /* Animation*/
  .burgericon.open .burgerbtn {
    transform: translateX(-40px);
    background: transparent;
  }

  .burgericon.open .burgerbtn::before {
    transform: rotate(45deg) translate(28px, -28px);
  }

  .burgericon.open .burgerbtn::after {
    transform: rotate(-45deg) translate(28px, 28px);
  }

  .navigation {
    min-height: 9svh;
    display: flex;
    flex-direction: column;
    align-items: space-around;
    justify-content: center;
  }

  .navigation a,
  .navigation li,
  .navigation ul {
    opacity: 0;
    height: 0px;
  }

  .navigation a {
    transition: all .5s ease-in-out;
  }

  .navigation.open>ul {
    display: flex;
    height: auto;
    flex-direction: column;
    align-items: space-around;
    justify-content: center;
    padding: 0;
    opacity: 1;
  }

  .navigation.open a,
  .navigation.open li {
    opacity: 1;
    height: auto;
  }

  .navigation.open a {
    transition: all .5s ease-in-out;
  }

  .navigation.open a>img {
    height: 100px;
  }

  .outbox form {
    width: 100%;
  }

  .cardwrapper {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  }
}